#include <bits/stdc++.h>
using namespace std;
const int maxn=305;
int n;
int a[maxn];
int dp[maxn][maxn];
int pre[maxn];
int main()
{
	for(int i=1;i<=maxn;i++)
	{
		for(int j=1;j<=maxn;j++)
		{
			dp[i][j]=0x3f3f3f3f;
		}
	}
	cin >> n;
	for(int i=1;i<=n;i++)
	{
		cin >> a[i];
		dp[i][i]=0;
		pre[i]=pre[i-1]+a[i];
	}
	for(int len=2;len<=n;len++)
	{
		for(int i=1;i<=n-len+1;i++)
		{
			int l=i,r=i+len-1;
			for(int k=l;k<r;k++)
			{
				dp[l][r]=min(dp[l][r],dp[l][k]+dp[k+1][r]+pre[r]-pre[l-1]);
			}
		}
	}
	cout << dp[1][n] << endl;
	return 0;
}

